package cz.acies.uniql.dialect;

import java.util.*;

public class ReservedKeywords extends HashMap<String, String> 
{
	private static final long serialVersionUID = 201101111036L;
	
	public ReservedKeywords() {
		super();
	}	
	
	public boolean isKeyword(String word){
		return this.containsKey(word);
	}

	public String getKeywordAlter(String word){
		if (this.containsKey(word)) return this.get(word);
		return null;
	}
	
}

/*
this.put("ABS","");
this.put("ABSOLUTE","");
this.put("ACOS","");
this.put("ADDDATE","");
this.put("ADDTIME","");
this.put("ALL","");
this.put("ALPHA","");
this.put("ALTER","");
this.put("ANY","");
this.put("ASCII","");
this.put("ASIN","");
this.put("ATAN","");
this.put("ATAN2","");
this.put("AUTO_INCREMENT","");		
this.put("AVG","");
this.put("BEGIN","");
this.put("BINARY","");
this.put("BLOB","");		
this.put("BIT","");
this.put("BOOLEAN","");
this.put("BYTE","");
this.put("CASE","");
this.put("CEIL","");
this.put("CEILING","");
this.put("CHAR","");
this.put("CHARACTER","");
this.put("CHECK","");
this.put("CHR","");
this.put("COLUMN","");
this.put("CONCAT","");
this.put("CONSTRAINT","");
this.put("COS","");
this.put("COSH","");
this.put("COT","");
this.put("COUNT","");
this.put("CROSS","");
this.put("CURDATE","");
this.put("CURRENT","");
this.put("CURTIME","");
this.put("DATABASE","");
this.put("DATE","");
this.put("DATEDIFF","");
this.put("DAY","");
this.put("DAYNAME","");
this.put("DAYOFMONTH","");
this.put("DAYOFWEEK","");
this.put("DAYOFYEAR","");
this.put("DEC","");
this.put("DECIMAL","");
this.put("DECODE","");
this.put("DEFAULT","");
this.put("DEGREES","");
this.put("DELETE","");
this.put("DIGITS","");
this.put("DISTINCT","");
this.put("DOUBLE","");
this.put("END","");
this.put("ENUM","");
this.put("EXCEPT","");
this.put("EXISTS","");
this.put("EXP","");
this.put("EXPAND","");
this.put("FIRST","");
this.put("FIXED","");
this.put("FLOAT","");
this.put("FLOOR","");
this.put("FOR","");
this.put("FROM","");
this.put("FULL","");
this.put("GET_OBJECTNAME","");
this.put("GET_OWNER","");
this.put("GRAPHIC","");
this.put("GREATEST","");
this.put("GROUP","");
this.put("HAVING","");
this.put("HEX","");
this.put("HEXTORAW","");
this.put("HOUR","");
this.put("INFILE","");		
this.put("IFNULL","");
this.put("IGNORE","");
this.put("INDEX","");
this.put("INITCAP","");
this.put("INNER","");
this.put("INSERT","");
this.put("INT","");
this.put("INTEGER","");
this.put("INTERNAL","");
this.put("INTERSECT","");
this.put("INTO","");
this.put("JOIN","");
this.put("KEY","");
this.put("LAST","");
this.put("LCASE","");
this.put("LEAST","");
this.put("LEFT","");
this.put("LENGTH","");
this.put("LFILL","");
this.put("LIST","");
this.put("LN","");
this.put("LOAD","");		
this.put("LOCATE","");
this.put("LOG","");
this.put("LOG10","");
this.put("LONG","");
this.put("LONGFILE","");
this.put("LOWER","");
this.put("LPAD","");
this.put("LTRIM","");
this.put("MAKEDATE","");
this.put("MAKETIME","");
this.put("MAPCHAR","");
this.put("MAX","");
this.put("MBCS","");
this.put("MEDIUMINT","");		
this.put("MICROSECOND","");
this.put("MIN","");
this.put("MINUTE","");
this.put("MOD","");
this.put("MONTH","");
this.put("MONTHNAME","");
this.put("NATURAL","");
this.put("NCHAR","");
this.put("NEXT","");
this.put("NO","");
this.put("NOROUND","");
this.put("NOT","");
this.put("NOW","");
this.put("NULL","");
this.put("NUM","");
this.put("NUMERIC","");
this.put("OBJECT","");
this.put("OF","");
this.put("ON","");
this.put("OPTION","");		
this.put("ORDER","");
this.put("OUTFILE","");		
this.put("PACKED","");
this.put("PI","");
this.put("POWER","");
this.put("PREV","");
this.put("PRIMARY","");
this.put("RADIANS","");
this.put("REAL","");
this.put("REJECT","");
this.put("RELATIVE","");
this.put("REPLACE","");
this.put("RFILL","");
this.put("RIGHT","");
this.put("ROUND","");
this.put("ROWID","");
this.put("ROWNO","");
this.put("RPAD","");
this.put("RTRIM","");
this.put("SECOND","");
this.put("SELECT","");
this.put("SELUPD","");
this.put("SERIAL","");
this.put("SET","");		
this.put("SHOW","");
this.put("SIGN","");
this.put("SIN","");
this.put("SINH","");
this.put("SMALLINT","");
this.put("SOME","");
this.put("SOUNDEX","");
this.put("SPACE","");
this.put("SQRT","");
this.put("STAMP","");
this.put("STATISTICS","");
this.put("STDDEV","");
this.put("SUBDATE","");
this.put("SUBSTR","");
this.put("SUBSTRING","");
this.put("SUBTIME","");
this.put("SUM","");
this.put("SYSDBA","");
this.put("TABLE","");
this.put("TAN","");
this.put("TANH","");
this.put("TEXT","");		
this.put("TIME","");
this.put("TIMEDIFF","");
this.put("TIMESTAMP","");
this.put("TIMEZONE","");
this.put("TO","");
this.put("TOIDENTIFIER","");
this.put("TRANSACTION","");
this.put("TRANSLATE","");
this.put("TRIM","");
this.put("TRUNC","");
this.put("TRUNCATE","");
this.put("TYPE","");			// Firebird
this.put("UCASE","");
this.put("UID","");
this.put("UNICODE","");
this.put("UNION","");
this.put("UNSIGNED","");		
this.put("UPDATE","");
this.put("UPPER","");
this.put("USER","");
this.put("USERGROUP","");
this.put("USING","");
this.put("UTCDATE","");
this.put("UTCDIFF","");
this.put("VALUE","");
this.put("VALUES","");
this.put("VARCHAR","");
this.put("VARGRAPHIC","");
this.put("VARIANCE","");
this.put("WEEK","");
this.put("WEEKOFYEAR","");
this.put("WHEN","");
this.put("WHERE","");
this.put("WITH","");
this.put("YEAR","");
this.put("ZEROFILL","");
this.put("ZONED","");
*/
//FireBird
/*
this.put("ACTIVE","");
this.put("DOMAIN","");
this.put("INACTIVE","");
this.put("MESSAGE","");
this.put("SIZE","");
//this.put("LANGUAGE","");
this.put("_ACTION","");
this.put("ACTION","");
this.put("POSITION","");
*/

/*
 *
 *
 
 *
 # MicrosoftSQL reservationKeywords
  
 ARITH_OVERFLOW,
 BREAK,
 BROWSE,
 BULK,
 CHAR_CONVERT,
 CHECKPOINT,
 CLUSTERED,
 COMMIT,
 COMPUTE,
 CONFIRM,
 CONTROLROW,
 DATA_PGS,
 DATABASE,
 DBCC,
 DISK,
 DUMMY,
 DUMP,
 ENDTRAN,
 ERRLVL,
 ERROREXIT,
 EXIT,
 FILLFACTOR,
 HOLDLOCK,
 IDENTITY_INSERT,
 IF,
 KILL,
 LINENO,
 LOAD,
 MIRROR,
 MIRROREXIT,
 NOHOLDLOCK,
 NONCLUSTERED,
 NUMERIC_TRUNCATION,
 OFFSETS,ONCE,
 OVER,PERM,
 PERMANENT,
 PLAN,
 PRINT,
 PROC,
 PROCESSEXIT,
 RAISERROR,
 READ,
 READTEXT,
 RECONFIGURE,
 REPLACE,
 RESERVED_PGS,
 RETURN,
 ROLE,
 ROWCNT,
 ROWCOUNT,
 RULE,
 SAVE,
 SETUSER,
 SHARED,
 SHUTDOWN,
 SOME,
 STATISTICS,
 STRIPE,
 SYB_IDENTITY,
 SYB_RESTREE,
 SYB_TERMINATE,
 TEMP,
 TEXTSIZE,
 TRAN,
 TRIGGER,
 TRUNCATE,
 TSEQUAL,
 USED_PGS,
 USER_OPTION,
 WAITFOR,
 WHILE,
 WRITETEXT

 *
 # FireBird reservationKeywords
 
 ACTIVE,
 ADMIN,
 AFTER,
 ASCENDING,
 AUTO,
 BASE_NAME,
 BEFORE,
 BIGINT,
 BLOB,
 BREAK,
 CACHE,
 CHECK_POINT_LENGTH,
 COMPUTED,
 CONDITIONAL,
 CONNECTION_ID,
 CONTAINING,
 CSTRING,
 CURRENT_ROLE,
 DATABASE,
 DEBUG,
 DESCENDING,
 DO,
 ENTRY_POINT,
 EXIT,
 FILE,
 FILTER,
 FREE_IT,
 FUNCTION,
 GDSCODE,
 GENERATOR,
 GEN_ID,
 GROUP_COMMIT_WAIT_TIME,
 IF,
 INACTIVE,
 INDEX,
 INPUT_TYPE,
 LOGFILE,
 LOG_BUFFER_SIZE,
 LONG,
 MANUAL,
 MAXIMUM_SEGMENT,
 MERGE,
 MESSAGE,
 MODULE_NAME,
 NULLS,
 LOCK,
 NUM_LOG_BUFFERS,
 OUTPUT_TYPE,
 OVERFLOW,
 PAGE,
 PAGES,
 PAGE_SIZE,
 PARAMETER,
 PASSWORD,
 PLAN,
 POST_EVENT,
 PROTECTED,
 RAW_PARTITIONS,
 RDB$DB_KEY,
 RECORD_VERSION,
 RECREATE,
 RESERV,
 RESERVING,
 RETAIN,
 RETURNING_VALUES,
 RETURNS,
 ROLE,
 ROWS_AFFECTED,
 SAVEPOINT,
 SEGMENT,
 SHADOW,
 SHARED,
 SINGULAR,
 SKIP,
 SNAPSHOT,
 SORT,
 STABILITY,
 STARTING,
 STARTS,
 STATISTICS,
 SUB_TYPE,
 SUSPEND,
 TRANSACTION_ID,
 TRIGGER,
 VARIABLE,
 WAIT,
 WEEKDAY,
 WHILE,
 YEARDAY
 
 */